package 刷题.leedcode160;
//双指针法
public class Solution2 {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        //定义两个指针分别指向两个链表的头结点，同时前进
        //当两个结点分别指向NULl时，则指向另外一个链表得头结点
        //当两个结点相等或者为空时，返回
        if(headA == null || headB == null){
            return null;
        }
        ListNode prev = headA;
        ListNode cur = headB;
        while(prev != cur){
            prev = prev == null ? headB : prev.next;
            cur = cur == null ? headA : cur.next;
        }
        return prev;
    }
}
